package practice;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class BankAccount {
  private static final int SCALE = 2;
  private static final RoundingMode PUT_ROUNDING_MODE = RoundingMode.FLOOR;
  private static final RoundingMode TAKE_ROUNDING_MODE = RoundingMode.CEILING;

  private BigDecimal amount = new BigDecimal(0).setScale(SCALE);

  public double getAmount() {
    // верните значение количества денег не счету
    return amount.doubleValue();
  }

  public void put(double amountToPut) {
    // метод зачисляет деньги на счет
    BigDecimal bigAmount = BigDecimal.valueOf(amountToPut).setScale(SCALE, PUT_ROUNDING_MODE);

    if (bigAmount.doubleValue() > 0) {
      amount = amount.add(bigAmount);
    }
  }

  public void take(double amountToTake) {
    // метод списывает деньги со счета
    BigDecimal bigAmount = BigDecimal.valueOf(amountToTake).setScale(SCALE, TAKE_ROUNDING_MODE);

    if (bigAmount.doubleValue() > 0 && bigAmount.doubleValue() <= amount.doubleValue()) {
      amount = amount.subtract(bigAmount);
    }
  }
}
